package com.xiaodeng.xdblogspringboot.service;

import com.github.pagehelper.PageInfo;
import com.xiaodeng.xdblogspringboot.pojo.Comments;
import com.xiaodeng.xdblogspringboot.pojo.DTO.CommentCreateDTO;
import com.xiaodeng.xdblogspringboot.pojo.DTO.CommentDTO;
import com.xiaodeng.xdblogspringboot.pojo.VO.CommentVO;
import com.xiaodeng.xdblogspringboot.pojo.VO.LikesVO;

import java.util.List;

public interface CommentsService {
    void updateLike(CommentDTO dto);

    Comments createComment(CommentCreateDTO dto);

    List<CommentVO> getCommentsByArticleId(Long articleId);

    void deleteComment(Long commentId);

    List<LikesVO> getValidLikes(Long targetId, Short likeType);
    /**
     * 分页查询所有评论，支持多条违规词搜索
     * @param pageNum 页码
     * @param pageSize 每页数量
     * @param sensitiveWord 逗号分隔的违规词字符串
     * @return 评论分页信息
     */
    PageInfo<CommentVO> getAllCommentsWithoutHierarchy(int pageNum, int pageSize, String sensitiveWord);
    /**
     * 批量删除评论
     * @param commentIds 评论ID列表
     */
    void batchDeleteComments(List<Long> commentIds);
}

